
#ifndef CODEGEN_UTIL_HXX
#define CODEGEN_UTIL_HXX

#include "rutil/Subsystem.hxx"

namespace codegen
{
    class LogSystem : public resip::Subsystem
    {
    public:
        // Add new systems below
        static LogSystem LOGMODULE;

    private:
        explicit LogSystem(const char* rhs) : resip::Subsystem(rhs) {};
        explicit LogSystem(const resip::Data& rhs);
    };

    class ElapsedTime
    {
    public:
        ElapsedTime();
        void reset();
        resip::Data elapsed() const;
        resip::Data elapsed_and_reset();
    private:
        uint64_t last_;
    };
}

#endif // #ifndef CODEGEN_UTIL_HXX


